home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / dev / e / yaec.lha / examples / rem0d.e < prev    next >
Text File  |  2001-08-12  |  688b  |  42 lines

  1.  
  2. /* remove $0d character from files edited in windows */
  3. /* the extremely simple way :) */
  4.  
  5. MODULE 'dos/dos'
  6.  
  7. RAISE 1 IF Open()=NIL,
  8.       2 IF FileLength() < 1,
  9.       3 IF New()=NIL,
  10.       4 IF Write()<0
  11.  
  12. PROC main()
  13.    DEF buf, ptr, fh=NIL, flen
  14.  
  15.    /* get file into mem */
  16.    flen:=FileLength(arg)
  17.    buf := New(flen+4)
  18.    fh:=Open(arg,MODE_READWRITE)
  19.    IF Read(fh, buf, flen) <> flen THEN Raise(5)
  20.    
  21.  
  22.    /* replace "$0D" with " " */
  23.    ptr := buf
  24.    WHILE ptr[]
  25.       IF ptr[]=13 THEN ptr[] := 32
  26.       ptr++
  27.    ENDWHILE
  28.  
  29.    /* save it */
  30.    Write(fh, buf, flen)
  31.  
  32.    /* close file */
  33.    Close(fh)
  34.  
  35. EXCEPT
  36.    PrintF('exception : \d\n', exception)
  37.    IF fh THEN Close(fh)
  38. ENDPROC
  39.  
  40.  
  41.  
  42.